The present invention, in some embodiments thereof, relates to a digital video server and, more particularly, but not exclusively, to a digital video server for video-on-demand services.
Digital video is often distributed as streams of digital data. One well known protocol for video data is MPEG.
Video streams, such as MPEG streams, typically have a Variable Bit Rate (VBR). The video streams are typically compressed, and the amount of compression depends on complexity of the scene, and on the amount of changes between scenes.
The MPEG video compression protocols compress video by reducing pixel data redundancy within an image, and also redundancy between neighboring images. MPEG video compression groups several consecutive images into a Group Of Pictures (GOP), and defines most of the pictures, also termed video frames, by their difference from a neighboring picture, which is also in the GOP.
A GOP contains X amount of data for N video frames, which need to be played out at a rate of R frames per second, thereby having a bit rate proportional to X*R/N. If there is need to lower the bit rate of a video stream, pictures in a GOP need to be changed together, since the pictures depend on each other for reconstruction.
In cases where video streams are distributed to customers, several video streams are sometimes combined in one transport stream, termed a Multiple Program Transport Stream (MPTS). In some cases a transport stream contains only one program. Such transport streams are termed Single Program Transport Streams (SPTS).
One example of video distribution, which is becoming more and more common nowadays, is distribution of Video On Demand (VOD). Customers request to receive specific videos, and VOD suppliers transmit each video requested by the customers. For example, the VOD supplier transmits several MPEG streams, some of different videos, and some of the same videos started at different times.
A transport stream often has a Constant Bit Rate (CBR). The bit rate of the transport stream is often a physical upper limit of some device in the transmission path. In other cases the transport stream has a bit rate assigned to it by a service provider which performs the transmission. A VOD supplier may purchase one or more units of such and such bandwidth, to use for supplying video on demand.
Combining VBR streams into a CBR transport stream can be done. Care must be taken that the total bit rate of the combination of VBR streams never exceeds the CBR limit, otherwise the CBR transport stream may well crash, or be cut off by the service provider which performs the transmission. Sometimes, the combining combines the streams by taking each of the constituent VBR streams into account as if it constantly has a maximum bit rate, and whenever the total bit rate of the combined VBR streams falls below the CBR of the transport stream, padding is added.
Lowering a bit rate of a video stream can be done. It is a computation intensive task. MPEG streams, for example, are compressed for ease of decompression, having a relatively computationally simple decompression, and a relatively computation intensive compression. Therefore bit rate lowering of MPEG streams, which involves decompression (easy) and subsequent compression (hard) is computationally intensive.